package edu.utn.tacs.grupouno.dao.implementations;

import java.util.LinkedList;
import java.util.List;
import java.util.UUID;

import edu.utn.tacs.grupouno.dao.AnalisisDAO;
import edu.utn.tacs.grupouno.negocio.Analisis;
import edu.utn.tacs.grupouno.negocio.Estudio;

public class AnalisisDAOMemoria implements AnalisisDAO {
	private List<Analisis> analisisList = new LinkedList<Analisis>();

	@Override
	public List<Analisis> getAnalisis() {
		return analisisList;
	}

	@Override
	public Analisis getAnalisis(String id) {
		for(Analisis analisis : analisisList) {
			if(analisis.getId().toString().equals(id)) {
				return analisis;
			}
		}
		return null;
	}

	@Override
	public void saveAnalisis(Analisis analisis) {
		analisisList.remove(analisis);
		analisisList.add(analisis);
	}

	@Override
	public void deleteAnalisis(String id) {
		analisisList.remove(getAnalisis(id));
	}

	@Override
	public List<Estudio> getEstudios(String id) {
		return getAnalisis(id).getEstudios();
	}

	@Override
	public void addEstudio(String id, Estudio estudio) {
		getAnalisis(id).addEstudio(estudio);
	}

	@Override
	public void deleteEstudio(String idAnalisis, String idEstudio) {
		getAnalisis(idAnalisis).deleteEstudio(UUID.fromString(idEstudio));
	}

	@Override
	public void deleteEstudios(String id) {
		Analisis analisis = getAnalisis(id);
		analisis.deleteEstudios();
	}

}
